package com.yan.design.two.behavior.s9.s2;

import lombok.Data;

/**
 * 9. 状态模式
 *      上下文
 * @author shengren.yan
 * @create 2022-08-14
 */
@Data
public class Contest extends AbstractState{

    // 当前状态
    private State state;


    @Override
    public void check(Contest c) {
        state.check(this);
        getState();
    }

    // 发布
    @Override
    public void make(Contest c) {
        state.make(this);
        getState();
    }

    @Override
    public void pay(Contest c) {
        state.pay(this);
        getState();
    }

    @Override
    public String getState() {
        System.out.println(" 当前状态 " + state.getState());
        return state.getState();
    }
}
